import unittest
# 导入参数化的插件
from parameterized import parameterized
def add(a, b):
    return a + b
# 把测试数据通过要给函数提供给参数化插件
def get_data():
    # 后期可以从一个外部的JSON文件中读取数据，最后返回出去
    return [
        (1, 2, 3),
        (3, 4, 7),
        (5, 6, 11)
    ]
class TestAdd(unittest.TestCase):
    # 通过参数化解决测试用例重复
    @parameterized.expand(get_data)
    def test_add(self, n1, n2, expect):
        result = add(n1, n2)
        self.assertEqual(result, expect)
    """
    def test_add01(self):
        result = add(1, 2)
        self.assertEqual(result, 3)
    def test_add02(self):
        result = add(3, 4)
        self.assertEqual(result, 7)
    def test_add03(self):
        result = add(5, 6)
        self.assertEqual(result, 11)
    """
if __name__ == '__main__':
    unittest.main()